The present invention relates to a data transfer control device and electronic equipment comprising the same.
An interface standard called IEEE 1394 has recently been attracting much attention. This IEEE 1394 has standardized high-speed serial bus interfaces that can handle the next generation of multimedia devices. IEEE 1394 makes it possible to handle data that is required to have real-time capabilities, such as moving images. A bus in accordance with IEEE 1394 can be connected not only to peripheral equipment for computers, such as printers, scanners, CD-R drives, and hard disk drives, but also to domestic appliances such as video cameras, VTRs, and TVs. This standard is therefore expected to enable a dramatic acceleration of the digitalization of electronic equipment.
The concept of IEEE 1394 is disclosed in various publications, such as xe2x80x9cAn outline of the IEEE 1394 High Performance Serial Busxe2x80x9d (Interface, April 1996, pages 1 to 10), xe2x80x9cBus Standards for PC Peripheral Equipmentxe2x80x9d (Interface, January 1997, pages 106 to 116), and xe2x80x9cReal-Time Transfer Modes and Multimedia-Capable Protocols for IEEE 1394-1995 (FireWire)xe2x80x9d (Interface, January 1997, pages 136 to 146). Texas Instruments"" TSB12LV31 is known as a data transfer control device that conforms to IEEE 1394.
IEEE 1394 specifies that, after a bus reset, tree identification and then self identification are performed. During this self identification, each node broadcasts its own self-ID packet to all the other nodes. Each node that receives this self-ID packet retains it in its own memory as necessary.
However, the number of these self-ID packets increases as the number of nodes increases, so it can become extremely large. In addition, it is necessary to append a header of at least one quadlet to distinguish this large number of self-ID packets from other LINK packets and enable an interface with respect to an upper layer in the firmware or the like. The existence of this large number of self-ID packets will cause a reduction in the free capacity of the memory of each node, raising a problem concerning the efficient usage of the resources possessed by each node.
To improve the actual transfer speed of the entire system in an data transfer control device conforming to IEEE 1394, it is preferable to reduce the processing overheads of firmware and application software running on the CPU, as far as possible.
The present invention was devised in the light of the above described technical problem, and has as an objective thereof the provision of a data transfer control device and electronic equipment using the same which are capable of efficiently utilizing the resources available to each node.
Another objective of the present invention is the provision of a data transfer control device and electronic equipment using the same which are capable of reducing the processing overheads of firmware and application software.
In order to solve the above described technical problems, the present invention relates to a data transfer control device for transferring data among a plurality of nodes that are connected to a bus, the data transfer control device comprising: packet shaping(reforming) means for receiving a series of self-identification packets that are transferred from the nodes, and shaping the transferred series of the self-identification packets into a packet having a frame made of control information that is used by an upper layer and data that is formed from an assembly of the transferred series of the self-identification packets; and write means for writing the shaped packet to a storage means.
In the present invention, a packet can be shaped(reformed) by re-packaging the series of self-identification packets into a single packet and appending control information, so that the series of self-identification packets can interface with an upper layer. This makes it possible to reduce the amount of storage area within the storage means required for writing the thus-shaped packet, in comparison with an upper-layer interface wherein control information is appended to each self-identification packet. In addition, since the series of self-identification packets is handled together, the processing overhead on the firmware or the like can be reduced.
In the present invention, the packet shaping means may erase error check information within each of the self-identification packets when each of the self-identification packets comprises error check information, and shapes the transferred series of the self-identification packets into a packet having a frame made of data formed from an assembly of the self-identification packets each of which error check information has been erased, and the control information. This makes it possible to further reduce the amount of storage area in the storage means for writing the thus-shaped packet.
In the present invention, the packet shaping means may determine whether or not there is an error in the self-identification packets that are transferred from the nodes, based on the error check information, and appends status information to control information of the packet to indicate whether or not there is an error in the self-identification packets. This makes it possible to convey to an upper layer that there is an error in a self-identification packet, in a simple manner.
In the present invention, the packet shaping means may append status information to control information of the packet to indicate whether or not the self-identification packets were received during a self-identification period. This makes it simple to distinguish between a packet obtained by re-packaging self-identification packets and other types of packet.
The data transfer control device of the present invention may further comprise: packet division means for writing control information of the packet into a control information area of the storage means and data of the packet into a data area of the storage means, the storage means being randomly accessible and being divided into the control information area and the data area; and means for appending a data pointer indicating an address of data to be written to the data area, to the control information. This makes it possible to handle the control information portion and the data portion of the thus-shaped packet separately, thus reducing the processing overheads on the firmware or the like.
In the data transfer control device of the present invention, the packet division means may write data of the packet obtained by shaping the series of the self-identification packets into an area within the storage means that is dedicated to self-identification packets. This makes it possible to simplify the processing required for, for example, the creation of a topology map.
The data transfer control device of the present invention may further comprise means for detecting whether or not the current period is a self-identification period, based on status information that has been sent from a lower layer; and the packet shaping means may regard a series of packets that have been transferred in during the self-identification period as self-identification packets, and may shape the series of the self-identification packets. This helps reduce the size of the hardware by making it possible to detect whether or not a packet to be processed is a self-identification packet, in a simple manner.
Note that in the present invention, dada transfer may be performed in accordance with the IEEE 1394 standard.
Electronic equipment in accordance with the present invention comprises any one of the above described data transfer control devices; a device for performing given processing on data that has been received from another node via the data transfer control device and the bus; and a device for outputting or storing data that has been subjected to the processing. Electronic equipment in accordance with the present invention further comprises: any one of the above described data transfer control devices; a device for performing given processing on data that is to be sent to another node via the data transfer control device and the bus; and a device for fetching data to be subjected to the processing.
With the present invention, it may be possible to speed up the processing performed within the electronic equipment for outputting or storing data that has been transferred from another node, or the processing performed within the electronic equipment on data that has been fetched thereby and is to be transferred to another node. The present invention can make it possible to reduce the size of the storage means used for storing the shaped packets and also reduces the processing load on the firmware or the like that controls the data transfer, thus making it possible to produce electronic equipment that is less expensive and more compact.